草庐IT

c++ - 读取 anchors.fill 定义的 QML 元素大小 : parent

我正在写一个QMLextension插件,我正在寻找一种方法来访问我刚刚实现的元素的大小。现在新元素(名为CustomElement)可以通过定义它的width和height值来创建用户想要的任何大小,因此在QML文件上用户可以执行以下操作:CustomElement{id:my_elemwidth:800height:600}但是我希望能够在用户通过anchor配置尺寸时检索尺寸信息,如下所示:Rectangle{width:800height:600CustomElement{id:my_elemanchors.fill:parent}}我不知道如何访问anchor信息。插件类定义

javascript - QML 和 C++ 中的 Null 和 Undefined

当用C++编写的自定义类型扩展QML时,我开始怀疑JS和C++之间的区别。这一次我想知道,如果C++端的null检查就足够了,或者是否有我可能需要的类似“QUndefined”的东西也考虑一下。据我所见,这不是描述here.换句话说:当我在QML端将属性设置为undefined时,C++端会发生什么当我在QML端将属性设置为null时,C++端会发生什么当我在C++端将属性设置为null时QML端会发生什么 最佳答案 您的答案肯定是正确的,但这里有一些更多信息。写入属性时会发生什么取决于该属性是什么,例如,它是QObject属性吗?

c++ - 从 QML ListView 操作 QAbstractListModel 中的数据

我有一个QMLListView,它使用QAbstractListModel子类作为模型。ListView{id:myListViewx:208y:19width:110height:160delegate:myListDelegate{}model:MyListModelopacity:0}模型是MyListItem的列表。classMyListModel:publicQAbstractListModel{Q_OBJECTpublic:enumMyRoles{HeadingRole=Qt::UserRole+1,DescriptionRole,QuantityRole};explici

c++ - 如何创建用于 QML 的通用对象模型?

我想知道是否有任何宏或方法如何将Qt模型注册为QObject的属性。例如,我有AnimalModel(http://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html#qabstractitemmodel)。我知道我可以将它传递给QuickView的根上下文QuickViewview;view.rootContext()->setContextProperty("myModel",&model);如果我通过Qml宏注册了QObject,我也可以传递这个对象来查看:view.rootContext()->setContextPrope

javascript - 如何在 QML 中延迟 JavaScript Action ?

我正在构建一个基于QML的C++应用程序。为了简单起见:在我的主QML文件中,我有一个按钮(矩形)在单击时调用JavaScript函数(在外部JS文件中定义)://MyJSfilelinkedtothemainQMLwindow[...]functionactionOnButtonClicked(){varx=0;vary=0;for(vari=0;i如您所见,在这个函数中,我调用了n(这里=3)次另一个JS函数来动态创建几个QML对象以添加到场景中:functioncreateObject(xPosition,yPosition){component=Qt.createCompone

c++ - 从 QML(Qt Quick 应用程序)调用 C++ 方法

因此,我进行了一些搜索,但在我读过的类似问题中,没有一个建议有效。我正在使用QtCreator(我对Qt不太熟悉)所以我不确定它在后台做了什么巫术。但是,我使用的是标准QtQuick应用程序项目。本质上,我想从QML调用一个C++函数,该函数返回一个字符串,该字符串定期替换布局中的某些文本。这是main.cpp:#include#include"qmlapplicationviewer.h"#includeclasstestClass:publicQObject{Q_OBJECTpublic:Q_INVOKABLEQStringgimmeText(){returnQString("ne

c++ - QML : Navigation between qml pages from design perception

我们需要开发一个QtQuick项目,其中我们有大约100个屏幕。我曾尝试为导航制作一个演示项目,点击按钮后会出现三个屏幕。我在页面之间的导航中使用了“状态”的概念。最初我尝试使用“加载器”进行相同的操作,但加载器无法保留页面的先前状态,它在导航期间重新加载整个页面。下面是main.qml的代码片段//importQtQuick1.0//totargetS605thEditionorMaemo5importQtQuick1.1Rectangle{id:main_rectanglewidth:360height:640Page1{id:page1}Page2{id:page2}Page3{

c++ - QML - 不支持命令式代码

有人可以评论一下对于QML,任何命令式JavaScript代码都不会执行,除非它是extracomponent的一部分吗?.当我将以下代码包含到我的QML中时,我遇到了此类问题:functionqmlSlot(text){page.data=textif(page.data==="received")page.color="black";}当QtDesigner卡住并显示以下警告时:ImperativecodeisnotsupportedintheQtQuickDesigner我读到构建qmlpuppet会在构建它的Qt的/bin目录中安装一个用于呈现组件的可执行文件。如果qmlpup

C++ 在 QML 中使用信号槽

我有一个小类不能正常工作,我不知道它有什么问题。编译器给出消息:main.cpp:error:undefinedreferenceto'CDetails::CDetails()'这是代码的快照://main.cpp#include#include"qtquick2applicationviewer.h"#include#includeclassCDetails:publicQObject{Q_OBJECTpublic:CDetails(){}~CDetails(void){}publicslots:voidcppSlot(constQString&msg){qDebug()在main.

c++ - QML 和 C++ 属性 - ReferenceError : Can't find variable

在编写QML应用程序时,我遇到了绑定(bind)问题,resp。在使用Qt4.8.1构建的QtQuick1应用程序中使用QML访问C++属性。每当我运行该应用程序时,我都会收到ReferenceError:Can'tfindvariable:...。在搜索文档、示例和论坛并创建一个小型QML项目来测试此行为后,我仍然无法弄清楚为什么会出现这些错误。这是我为测试获得的“应用程序输出”:应用输出Starting/.../build-QML_Cpp_propertyTest-Qt_4_8_1_in_PATH_System-Debug/QML_Cpp_propertyTest...Qmldeb